Ignore inlining costs for precompilation with --compile=all (#53798)#233
Ignore inlining costs for precompilation with --compile=all (#53798)#233kpamnany wants to merge 1 commit intov1.10.2+RAIfrom
--compile=all (#53798)#233Conversation
…ang#53798) This helps to minimize the amount of missed precompiles that occur by eliding the inlining cost check when julia is run under `--compile=all`. This will lead to slightly larger sysimage sizes. However, in practice it leads to more extensive and successful precompilation, which can minimize the number of JIT events in call sites with dynamic dispatch. This is an alternative to JuliaLang#53547, where removing the inlining cost check was made universal. However, that lead to ~15% larger sysimage sizes by default. This implements Jeff's suggestion that this mode be enabled under `--compile=all`.
NHDaly
left a comment
There was a problem hiding this comment.
LGTM! Before merging, can you check what the impact is on our binary build?
|
What's the status on this one? |
|
This patch only affects There's already a potential problem, called out by Andre here. TL;DR: still experimenting. |
|
This PR is stale because it has been open 30 days with no activity. Comment or remove stale label, or this PR will be closed in 5 days. |
|
This PR is stale because it has been open 30 days with no activity. Comment or remove stale label, or this PR will be closed in 5 days. |
|
This PR is stale because it has been open 30 days with no activity. Comment or remove stale label, or this PR will be closed in 5 days. |
PR Description
This helps to minimize the amount of missed precompiles that occur by eliding the inlining cost check when julia is run under
--compile=all. This will lead toslightly larger sysimage sizes. However, in practice it leads to more extensive and successful precompilation, which can minimize the number of JIT events in
call sites with dynamic dispatch.
This is an alternative to JuliaLang#53547, where removing the inlining cost check was made universal. However, that lead to ~15% larger sysimage sizes by default. This implements Jeff's suggestion that this mode be enabled under
--compile=all.Also added the fix to this PR mentioned here.
Checklist
Requirements for merging:
--compile=allJuliaLang/julia#53798port-to-*labels that don't apply.